package org.budo.time;

import java.time.Duration;

/**
 * @author lmw
 */
public interface TimeSpan {
    /**
     * 返回绝对值
     */
    TimeSpan abs();

    Double toYears();

    Double toMonths();

    Double toDays();

    Double toHours();

    /**
     * 转为分钟数 ，可用 intValue() 舍弃余量
     */
    Double toMinutes();

    /**
     * 转为秒数 ，可用 intValue() 舍弃余量
     */
    Double toSeconds();

    Double toSeconds(Number defaultValue);

    Duration toDuration();

    /**
     * 时间段转换为毫秒数
     */
    Long toMilliSeconds();

    /**
     * 向上取整
     */
    Integer toMinutesCeil();

    Integer toMinutesFloor();

    Integer toMinutesRound();
}